程式的函式除了跟數學的函式概念相像也能接收一個值做運算後回傳,但它也可以「不讀不回」,不接收、不回傳任何值。
程式的運作環境不像數學都和數字、值的運算結果有關,它依然可以「執行某一個邏輯」而存在。
譬如前端網頁上某個按鈕被使用者點擊後,會觸發某個函式的執行,並更新、變動網頁內容。而這樣的情境就和運算比較沒關係,跟互動、操作比較有關。
最簡單的方式是透過function
讓JavaScript知道要宣告一個函式。和變數一樣,函式在一般情況下也必須有名稱才能讓JavaScript知道想執行哪個函式。也有特定用法不需名稱的匿名函式。
函式執行後回傳的結果透過return
決定回傳的內容是什麼。return
不一定要存在於函式的內容。
function doubleTheNumber (x) {
return x * 2;
}
console.log(doubleTheNumber(1)); //2
而當函式裡沒有任何return,或是有return但後面沒有任何要回傳的值,JavaScript會自動將回傳的值設置為undefined
,所以可以將一個函式回傳的值當作undefined
。
function doubleTheNumber (x) {
console.log(x * 2);
}
console.log(doubleTheNumber(1)); // undefined
()
執行,通常以「呼叫」(Invoke)形容執行一個函式動作。
doubleTheNumber (10)
():在函式名稱後面加上小括弧呼叫函式
10:要傳進函式的值(引數)
return
出現在函式內容中間,JavaScipt就會提前結束並回傳return
後的數值。
function doubleMe(x){
return x * 2;
// return 後的任何內容不會被執行
x = x + 3 // 這行邏輯是多餘的
}
doubleMe(2); // 4